﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace Commande
{
    class Program
    {
        static void Main(string[] args)
        {
            char choix;

            Console.WriteLine("Bienvenue!\n");

            ProducteurRequetes producteur = new ProducteurRequetes();
            iCommande ingenieurDom = new IngenieurDomestique(producteur);
            iCommande politicien = new Politicien(producteur);
            iCommande programmeur = new Programmeur(producteur);

            Client client = new Client(ingenieurDom, politicien, programmeur);

            Console.WriteLine("Les commandes sont maintenant disponibles...\n");

            do
            {
                Console.WriteLine("Entrez i si vous avez besoin de l'ingénieur.\n" +
                                   "Entrez p si vous avez besoin du politicien.\n" +
                                   "Entrez a si vous avez besoin du programmeur.\nEntrez 'enter' pour recommencer, q pour quitter.");
                choix = Console.ReadKey().KeyChar;
                Console.WriteLine("");

                switch (choix)
                {
                    case 'i': 
                        client.TravailIngenieurDomestique();
                        Console.ReadLine();
                        break;

                    case 'p': 
                        client.TravailPoliticien();
                        Console.ReadLine();
                        break;

                    case 'a': 
                        client.TravailProgrammeur();
                        Console.ReadLine();
                        break;

                    default:
                        if (choix != 'q')
                        {
                            Console.WriteLine("Le choix est invalide.");
                        }
                        break;
                }
                Console.Clear();
            } while (choix != 'q');

            Console.WriteLine("Au revoir...");
            Thread.Sleep(2000);
        }
    }
}
